<HTML> 
<HEAD> 
	<TITLE>3rd Party ROBOTC Drivers</TITLE> 
<link href="tabs.css" rel="stylesheet" type="text/css"/> 
<link href="doxygen.css" rel="stylesheet" type="text/css"/> 
</HEAD> 
 
<BODY bgcolor="#ffffff" link="#000000" vlink="#000000"> 
<table width="100%" bgcolor="navy" cellspacing=0 cellpadding=1 border=0> 
<tr><td><table width="100%" bgcolor="#EEEEDD" cellspacing=0 cellpadding=3 border=0> 
<tr> 
    <td width="33%" align="left"> <img src="images/LOGO_NXT.gif" width=266 height=44 border="0" alt="Mindstorms"></td> 
    <td><b><font size="+3" color="navy">3rd Party ROBOTC Drivers</font></b></td> 
    <td align="right"> <img src="images/logo.png" width=44 height=44 border="0" alt="RobotC"></td>     
</tr> 
  <tr bgcolor="#cccc99" align="right"> 
          <td colspan=3> <font face="arial" size="-1"> [<a href=main.html>Home</a>] [<a target=_top href="https://sourceforge.net/projects/rdpartyrobotcdr/">Download</a>] [<a target=_top href="http://apps.sourceforge.net/mantisbt/rdpartyrobotcdr/my_view_page.php">Submit a bug/suggestion</a>]  [<a target=_top href="http://www.robotc.net/forums/">ROBOTC Forums</a>] [<a target=_top href="http://botbench.com">Blog</a>] [<a target=_top href="http://sourceforge.net/donate/index.php?group_id=257238">Support this project</a>]</font> </td> 
</tr> 
</table></td></tr> 
</table> 
<!-- Generated by Doxygen 1.7.2 -->
<div class="header">
  <div class="summary">
<a href="#files">Files</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<h1>HDS Motor MUX<br/>
<small>
[<a class="el" href="group__other.html">Other</a>]</small>
</h1>  </div>
</div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="files"></a>
Files</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="holitdata-motormux_8h.html">holitdata-motormux.h</a></td></tr>

<p><tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Holit Data Systems Motor MUX driver. </p>
<br/></td></tr>
</p>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga1d4967a1dc141fa7c78fce37bdc9ee37">HDMMUX_I2C_ADDR</a>&#160;&#160;&#160;0x02</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#gabb77ec3e99c4cad617cc1ede72606c3b">HDMMUX_CMD_MOTOR</a>&#160;&#160;&#160;0x01</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga8e99d91f599743f5f4c5666363d946b9">HDMMUX_CMD_ADDRCHNG</a>&#160;&#160;&#160;0x02</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga9a17309959ed01c7af50242ac92c4834">HDMMUX_CMD_RST_TACH_A</a>&#160;&#160;&#160;0x03</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga7694f35d70f794746f420449222dda13">HDMMUX_CMD_RST_TACH_B</a>&#160;&#160;&#160;0x04</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#gaf985f76ca86f04bb92d68f327607a760">HDMMUX_CMD_RST_TACH_C</a>&#160;&#160;&#160;0x05</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga152bc60e5dd65d889b5564b33b0c6278">HDMMUX_MOTOR_A</a>&#160;&#160;&#160;0x01</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga5aed7616cabe6a49f4c82107d8ab7ea3">HDMMUX_MOTOR_B</a>&#160;&#160;&#160;0x02</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga921659e14e3c5a464681ef15bc74ac33">HDMMUX_MOTOR_C</a>&#160;&#160;&#160;0x03</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#gae744ba909813538c7989e09713bd6e9e">HDMMUX_MOTOR_OTHER</a>&#160;&#160;&#160;0x04</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#gaba830d33f1e2e13bb6e02e4c9f997cb1">HDMMUX_MOTOR_RIGHT</a>&#160;&#160;&#160;0x02</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#gaa785cf23c29f1cde670339cff405c89c">HDMMUX_MOTOR_LEFT</a>&#160;&#160;&#160;0x00</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga8b5c1f641e616e32ca81f86376d78f8e">HDMMUX_ROT_FORWARD</a>&#160;&#160;&#160;(0x01 &lt;&lt; 6)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga4f09a764ccdceae83b4269941e60dc3d">HDMMUX_ROT_REVERSE</a>&#160;&#160;&#160;(0x02 &lt;&lt; 6)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#gac2a359c98e7ca505517479e4b6c203d9">HDMMUX_ROT_STOP</a>&#160;&#160;&#160;(0x03 &lt;&lt; 6)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga69f30e70456781d8f73737c265a7b715">HDMMUX_ROT_CONSTSPEED</a>&#160;&#160;&#160;(0x01 &lt;&lt; 4)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#gad7cad3b457f30cc41b26baa22fcb1a48">HDMMUX_ROT_RAMPUP</a>&#160;&#160;&#160;(0x02 &lt;&lt; 4)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga9f9ea0c3182e48853500d9e0beeec80d">HDMMUX_ROT_RAMPDOWN</a>&#160;&#160;&#160;(0x03 &lt;&lt; 4)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga58db191452bcfe01d6f799901eebbb6b">HDMMUX_ROT_UNLIMITED</a>&#160;&#160;&#160;(0x00 &lt;&lt; 2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#gaddab324a4bb63f681c7ee96afb21614e">HDMMUX_ROT_DEGREES</a>&#160;&#160;&#160;(0x01 &lt;&lt; 2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga2134053b53a01ff59be26e713b1c4de1">HDMMUX_ROT_ROTATIONS</a>&#160;&#160;&#160;(0x02 &lt;&lt; 2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#gad7969b064d524a58417f7dfca4b40fe2">HDMMUX_ROT_SECONDS</a>&#160;&#160;&#160;(0x03 &lt;&lt; 2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga90a93643e9455bd364f447e84a37778f">HDMMUX_ROT_POWERCONTROL</a>&#160;&#160;&#160;(0x01 &lt;&lt; 1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga589429a31051aad29af4ce91de5e0bca">HDMMUX_ROT_BRAKE</a>&#160;&#160;&#160;0x01</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga64c0b177003798c3abc2dc180cd12869">HDMMUX_ROT_FLOAT</a>&#160;&#160;&#160;0x00</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga535f096dd8eef8d1c86cd818eb165c92">HDMMUXinit</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#gaf4c7a5f3640743090b2d360e7333ea2f">HDMMUXreadStatus</a> (tSensors link, ubyte &amp;motorStatus, long &amp;tachoA, long &amp;tachoB, long &amp;tachoC)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#gad0558a4dd874dfda556cbe2cf2b81372">HDMMUXsendCommand</a> (tSensors link, ubyte mode, ubyte channel, ubyte rotparams, long duration, byte power, byte steering)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga494763eb03935fb7266a4b73e4670178">HDMMotor</a> (<a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a> muxmotor, byte power)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga45626902cadcdee073783a5973021192">HDMotorStop</a> (<a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a> muxmotor)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#gafc336fc65157f3ad43c92311d8ff6ef2">HDMotorStop</a> (<a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a> muxmotor, bool brake)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga23bc66bcc708a0242b9fd9ce14a74b7a">HDMMotorSetRotationTarget</a> (<a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a> muxmotor, float rottarget)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga9001ade37d758427c5b6ee16fe8c2310">HDMMotorSetTimeTarget</a> (<a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a> muxmotor, float timetarget)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#gacb9ca2a2a00494399d5a49b0e768a452">HDMMotorSetEncoderTarget</a> (<a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a> muxmotor, long enctarget)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga34aab3c9e76f83afb10fe3bda30bd4a8">HDMMotorEncoder</a> (<a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a> muxmotor)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga741e301ad1f831e39d9c14379115b4db">HDMMotorEncoderReset</a> (<a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a> muxmotor)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga7879fffe542c0918c97d5b5cfb277c4e">HDMMotorEncoderResetAll</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga633cd6ad7e5682af6e0a3bfd9b793442">HDMMotorBusy</a> (<a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a> muxmotor)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga8bd10328a9988cae8a9b58956664804b">HDMMotorSetBrake</a> (<a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a> muxmotor)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga9082ae983475e561df02ed09d4dfbe3a">HDMMotorSetFloat</a> (<a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a> muxmotor)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga6c2ffd3d9050a7fdaa89fbdda23a5b3d">HDMMotorSetSpeedCtrl</a> (<a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a> muxmotor, bool constspeed)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga947aaf8a97d56a6ebdb886bead2efca0">HDMMotorSetRamping</a> (<a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a> muxmotor, ubyte ramping)</td></tr>
<tr><td colspan="2"><h2><a name="var-members"></a>
Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__common.html#gaa172ef131853460e5b9f5c6db81d30f4">tByteArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga19484ff15e883671827a693258717351">HDMMUX_I2CRequest</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__common.html#gaa172ef131853460e5b9f5c6db81d30f4">tByteArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__holitdata.html#ga82af72165d856c59557672bb7fa851d0">HDMMUX_I2CReply</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Holit Data Systems Motor MUX </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ga8e99d91f599743f5f4c5666363d946b9"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_CMD_ADDRCHNG" ref="ga8e99d91f599743f5f4c5666363d946b9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_CMD_ADDRCHNG&#160;&#160;&#160;0x02</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00058">58</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="gabb77ec3e99c4cad617cc1ede72606c3b"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_CMD_MOTOR" ref="gabb77ec3e99c4cad617cc1ede72606c3b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_CMD_MOTOR&#160;&#160;&#160;0x01</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00057">57</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga9a17309959ed01c7af50242ac92c4834"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_CMD_RST_TACH_A" ref="ga9a17309959ed01c7af50242ac92c4834" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_CMD_RST_TACH_A&#160;&#160;&#160;0x03</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00059">59</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga7694f35d70f794746f420449222dda13"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_CMD_RST_TACH_B" ref="ga7694f35d70f794746f420449222dda13" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_CMD_RST_TACH_B&#160;&#160;&#160;0x04</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00060">60</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="gaf985f76ca86f04bb92d68f327607a760"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_CMD_RST_TACH_C" ref="gaf985f76ca86f04bb92d68f327607a760" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_CMD_RST_TACH_C&#160;&#160;&#160;0x05</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00061">61</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga1d4967a1dc141fa7c78fce37bdc9ee37"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_I2C_ADDR" ref="ga1d4967a1dc141fa7c78fce37bdc9ee37" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_I2C_ADDR&#160;&#160;&#160;0x02</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>HDMMUX I2C device address </p>

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00054">54</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga152bc60e5dd65d889b5564b33b0c6278"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_MOTOR_A" ref="ga152bc60e5dd65d889b5564b33b0c6278" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_MOTOR_A&#160;&#160;&#160;0x01</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00064">64</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga5aed7616cabe6a49f4c82107d8ab7ea3"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_MOTOR_B" ref="ga5aed7616cabe6a49f4c82107d8ab7ea3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_MOTOR_B&#160;&#160;&#160;0x02</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00065">65</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga921659e14e3c5a464681ef15bc74ac33"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_MOTOR_C" ref="ga921659e14e3c5a464681ef15bc74ac33" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_MOTOR_C&#160;&#160;&#160;0x03</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00066">66</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="gaa785cf23c29f1cde670339cff405c89c"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_MOTOR_LEFT" ref="gaa785cf23c29f1cde670339cff405c89c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_MOTOR_LEFT&#160;&#160;&#160;0x00</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00070">70</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="gae744ba909813538c7989e09713bd6e9e"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_MOTOR_OTHER" ref="gae744ba909813538c7989e09713bd6e9e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_MOTOR_OTHER&#160;&#160;&#160;0x04</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00068">68</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="gaba830d33f1e2e13bb6e02e4c9f997cb1"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_MOTOR_RIGHT" ref="gaba830d33f1e2e13bb6e02e4c9f997cb1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_MOTOR_RIGHT&#160;&#160;&#160;0x02</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00069">69</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga589429a31051aad29af4ce91de5e0bca"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_ROT_BRAKE" ref="ga589429a31051aad29af4ce91de5e0bca" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_ROT_BRAKE&#160;&#160;&#160;0x01</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00088">88</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga69f30e70456781d8f73737c265a7b715"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_ROT_CONSTSPEED" ref="ga69f30e70456781d8f73737c265a7b715" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_ROT_CONSTSPEED&#160;&#160;&#160;(0x01 &lt;&lt; 4)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00077">77</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="gaddab324a4bb63f681c7ee96afb21614e"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_ROT_DEGREES" ref="gaddab324a4bb63f681c7ee96afb21614e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_ROT_DEGREES&#160;&#160;&#160;(0x01 &lt;&lt; 2)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00082">82</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga64c0b177003798c3abc2dc180cd12869"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_ROT_FLOAT" ref="ga64c0b177003798c3abc2dc180cd12869" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_ROT_FLOAT&#160;&#160;&#160;0x00</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00089">89</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga8b5c1f641e616e32ca81f86376d78f8e"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_ROT_FORWARD" ref="ga8b5c1f641e616e32ca81f86376d78f8e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_ROT_FORWARD&#160;&#160;&#160;(0x01 &lt;&lt; 6)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00073">73</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga90a93643e9455bd364f447e84a37778f"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_ROT_POWERCONTROL" ref="ga90a93643e9455bd364f447e84a37778f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_ROT_POWERCONTROL&#160;&#160;&#160;(0x01 &lt;&lt; 1)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00086">86</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga9f9ea0c3182e48853500d9e0beeec80d"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_ROT_RAMPDOWN" ref="ga9f9ea0c3182e48853500d9e0beeec80d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_ROT_RAMPDOWN&#160;&#160;&#160;(0x03 &lt;&lt; 4)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00079">79</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="gad7cad3b457f30cc41b26baa22fcb1a48"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_ROT_RAMPUP" ref="gad7cad3b457f30cc41b26baa22fcb1a48" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_ROT_RAMPUP&#160;&#160;&#160;(0x02 &lt;&lt; 4)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00078">78</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga4f09a764ccdceae83b4269941e60dc3d"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_ROT_REVERSE" ref="ga4f09a764ccdceae83b4269941e60dc3d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_ROT_REVERSE&#160;&#160;&#160;(0x02 &lt;&lt; 6)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00074">74</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga2134053b53a01ff59be26e713b1c4de1"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_ROT_ROTATIONS" ref="ga2134053b53a01ff59be26e713b1c4de1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_ROT_ROTATIONS&#160;&#160;&#160;(0x02 &lt;&lt; 2)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00083">83</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="gad7969b064d524a58417f7dfca4b40fe2"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_ROT_SECONDS" ref="gad7969b064d524a58417f7dfca4b40fe2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_ROT_SECONDS&#160;&#160;&#160;(0x03 &lt;&lt; 2)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00084">84</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="gac2a359c98e7ca505517479e4b6c203d9"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_ROT_STOP" ref="gac2a359c98e7ca505517479e4b6c203d9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_ROT_STOP&#160;&#160;&#160;(0x03 &lt;&lt; 6)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00075">75</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga58db191452bcfe01d6f799901eebbb6b"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_ROT_UNLIMITED" ref="ga58db191452bcfe01d6f799901eebbb6b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HDMMUX_ROT_UNLIMITED&#160;&#160;&#160;(0x00 &lt;&lt; 2)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00081">81</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga494763eb03935fb7266a4b73e4670178"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMotor" ref="ga494763eb03935fb7266a4b73e4670178" args="(tMUXmotor muxmotor, byte power)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool HDMMotor </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a>&#160;</td>
          <td class="paramname"> <em>muxmotor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"> <em>power</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Run motor with specified speed.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">muxmotor</td><td>the motor-MUX motor </td></tr>
    <tr><td class="paramname">power</td><td>power the amount of power to apply to the motor, value between -100 and +100 </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if no error occured, false if it did </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="holitdata-motormux-test1_8c-example.html#a10">holitdata-motormux-test1.c</a>, and <a class="el" href="holitdata-motormux-test2_8c-example.html#a5">holitdata-motormux-test2.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00203">203</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga633cd6ad7e5682af6e0a3bfd9b793442"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMotorBusy" ref="ga633cd6ad7e5682af6e0a3bfd9b793442" args="(tMUXmotor muxmotor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool HDMMotorBusy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a>&#160;</td>
          <td class="paramname"> <em>muxmotor</em>&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if the specified motor is running or not.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">muxmotor</td><td>the motor-MUX motor </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the motor is still running, false if it's idle </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="holitdata-motormux-test1_8c-example.html#a12">holitdata-motormux-test1.c</a>, and <a class="el" href="holitdata-motormux-test2_8c-example.html#a7">holitdata-motormux-test2.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00388">388</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga34aab3c9e76f83afb10fe3bda30bd4a8"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMotorEncoder" ref="ga34aab3c9e76f83afb10fe3bda30bd4a8" args="(tMUXmotor muxmotor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long HDMMotorEncoder </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a>&#160;</td>
          <td class="paramname"> <em>muxmotor</em>&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Fetch the current encoder value for specified motor channel</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">muxmotor</td><td>the motor-MUX motor </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the current value of the encoder </dd></dl>

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00319">319</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga741e301ad1f831e39d9c14379115b4db"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMotorEncoderReset" ref="ga741e301ad1f831e39d9c14379115b4db" args="(tMUXmotor muxmotor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool HDMMotorEncoderReset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a>&#160;</td>
          <td class="paramname"> <em>muxmotor</em>&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Reset target encoder for specified motor channel, use only at the start of your program. If you are using the standard NXT wheels you will not run into problems with a wrap-around for the first 500kms or so.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">muxmotor</td><td>the motor-MUX motor </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if no error occured, false if it did </dd></dl>

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00346">346</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga7879fffe542c0918c97d5b5cfb277c4e"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMotorEncoderResetAll" ref="ga7879fffe542c0918c97d5b5cfb277c4e" args="(tSensors link)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool HDMMotorEncoderResetAll </td>
          <td>(</td>
          <td class="paramtype">tSensors&#160;</td>
          <td class="paramname"> <em>link</em>&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Reset all encoders on the specified motor-MUX. Use only at the start of your program. If you are using the standard NXT wheels you will not run into problems with a wrap-around for the first 500kms or so.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">link</td><td>the MMUX port number </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if no error occured, false if it did </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="holitdata-motormux-test1_8c-example.html#a1">holitdata-motormux-test1.c</a>, and <a class="el" href="holitdata-motormux-test2_8c-example.html#a1">holitdata-motormux-test2.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00368">368</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga8bd10328a9988cae8a9b58956664804b"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMotorSetBrake" ref="ga8bd10328a9988cae8a9b58956664804b" args="(tMUXmotor muxmotor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void HDMMotorSetBrake </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a>&#160;</td>
          <td class="paramname"> <em>muxmotor</em>&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the stopping method for the specified motor to brake.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">muxmotor</td><td>the motor-MUX motor </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="holitdata-motormux-test1_8c-example.html#a2">holitdata-motormux-test1.c</a>, and <a class="el" href="holitdata-motormux-test2_8c-example.html#a2">holitdata-motormux-test2.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00409">409</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="gacb9ca2a2a00494399d5a49b0e768a452"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMotorSetEncoderTarget" ref="gacb9ca2a2a00494399d5a49b0e768a452" args="(tMUXmotor muxmotor, long enctarget)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void HDMMotorSetEncoderTarget </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a>&#160;</td>
          <td class="paramname"> <em>muxmotor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"> <em>enctarget</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set encoder target for specified mux motor.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">muxmotor</td><td>the motor-MUX motor </td></tr>
    <tr><td class="paramname">enctarget</td><td>the encoder target value in degrees. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if no error occured, false if it did </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="holitdata-motormux-test1_8c-example.html#a9">holitdata-motormux-test1.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00307">307</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga9082ae983475e561df02ed09d4dfbe3a"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMotorSetFloat" ref="ga9082ae983475e561df02ed09d4dfbe3a" args="(tMUXmotor muxmotor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void HDMMotorSetFloat </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a>&#160;</td>
          <td class="paramname"> <em>muxmotor</em>&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the stopping method for the specified motor to float.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">muxmotor</td><td>the motor-MUX motor </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="holitdata-motormux-test1_8c-example.html#a4">holitdata-motormux-test1.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00419">419</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga947aaf8a97d56a6ebdb886bead2efca0"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMotorSetRamping" ref="ga947aaf8a97d56a6ebdb886bead2efca0" args="(tMUXmotor muxmotor, ubyte ramping)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void HDMMotorSetRamping </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a>&#160;</td>
          <td class="paramname"> <em>muxmotor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ubyte&#160;</td>
          <td class="paramname"> <em>ramping</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the motor ramping type the specified motor. ramping can be one of<br/>
</p>
<ul>
<li>HDMMUX_ROT_CONSTSPEED</li>
<li>HDMMUX_ROT_RAMPUP</li>
<li>HDMMUX_ROT_RAMPDOWN</li>
</ul>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">muxmotor</td><td>the motor-MUX motor </td></tr>
    <tr><td class="paramname">ramping</td><td>the type of ramping to be used </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00445">445</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga23bc66bcc708a0242b9fd9ce14a74b7a"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMotorSetRotationTarget" ref="ga23bc66bcc708a0242b9fd9ce14a74b7a" args="(tMUXmotor muxmotor, float rottarget)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void HDMMotorSetRotationTarget </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a>&#160;</td>
          <td class="paramname"> <em>muxmotor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"> <em>rottarget</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set rotation target for specified mux motor. Rotations can be specified in increments of 0.01. To rotate the motor 10.54 degrees, specify a value of 10.54.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">muxmotor</td><td>the motor-MUX motor </td></tr>
    <tr><td class="paramname">rottarget</td><td>the rotation target value </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if no error occured, false if it did </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="holitdata-motormux-test1_8c-example.html#a7">holitdata-motormux-test1.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00280">280</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga6c2ffd3d9050a7fdaa89fbdda23a5b3d"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMotorSetSpeedCtrl" ref="ga6c2ffd3d9050a7fdaa89fbdda23a5b3d" args="(tMUXmotor muxmotor, bool constspeed)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void HDMMotorSetSpeedCtrl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a>&#160;</td>
          <td class="paramname"> <em>muxmotor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"> <em>constspeed</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the motor speed control for the specified motor.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">muxmotor</td><td>the motor-MUX motor </td></tr>
    <tr><td class="paramname">constspeed</td><td>whether or not to use speed control </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00430">430</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga9001ade37d758427c5b6ee16fe8c2310"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMotorSetTimeTarget" ref="ga9001ade37d758427c5b6ee16fe8c2310" args="(tMUXmotor muxmotor, float timetarget)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void HDMMotorSetTimeTarget </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a>&#160;</td>
          <td class="paramname"> <em>muxmotor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"> <em>timetarget</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set time target for specified mux motor. Seconds can be specified in increments of 0.01. To rotate the motor for 10.21 seconds, specify a value of 10.21.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">muxmotor</td><td>the motor-MUX motor </td></tr>
    <tr><td class="paramname">timetarget</td><td>the time target value in seconds. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if no error occured, false if it did </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="holitdata-motormux-test1_8c-example.html#a8">holitdata-motormux-test1.c</a>, and <a class="el" href="holitdata-motormux-test2_8c-example.html#a4">holitdata-motormux-test2.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00294">294</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga535f096dd8eef8d1c86cd818eb165c92"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUXinit" ref="ga535f096dd8eef8d1c86cd818eb165c92" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void HDMMUXinit </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="holitdata-motormux-test1_8c-example.html#a0">holitdata-motormux-test1.c</a>, and <a class="el" href="holitdata-motormux-test2_8c-example.html#a0">holitdata-motormux-test2.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00116">116</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="gaf4c7a5f3640743090b2d360e7333ea2f"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUXreadStatus" ref="gaf4c7a5f3640743090b2d360e7333ea2f" args="(tSensors link, ubyte &amp;motorStatus, long &amp;tachoA, long &amp;tachoB, long &amp;tachoC)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool HDMMUXreadStatus </td>
          <td>(</td>
          <td class="paramtype">tSensors&#160;</td>
          <td class="paramname"> <em>link</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ubyte &amp;&#160;</td>
          <td class="paramname"> <em>motorStatus</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long &amp;&#160;</td>
          <td class="paramname"> <em>tachoA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long &amp;&#160;</td>
          <td class="paramname"> <em>tachoB</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long &amp;&#160;</td>
          <td class="paramname"> <em>tachoC</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Read the status of the motors and tacho counts of the MMUX</p>
<p>motorStatus is made of 3 bits, 1: motor is running, 0: motor is idle<br/>
 bit 0: motor A<br/>
 bit 1: motor B<br/>
 bit 2: motor C<br/>
</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">link</td><td>the MMUX port number </td></tr>
    <tr><td class="paramname">motorStatus</td><td>status of the motors </td></tr>
    <tr><td class="paramname">tachoA</td><td>Tacho count for motor A </td></tr>
    <tr><td class="paramname">tachoB</td><td>Tacho count for motor B </td></tr>
    <tr><td class="paramname">tachoC</td><td>Tacho count for motor C </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if no error occured, false if it did </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="holitdata-motormux-test1_8c-example.html#a11">holitdata-motormux-test1.c</a>, and <a class="el" href="holitdata-motormux-test2_8c-example.html#a6">holitdata-motormux-test2.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00144">144</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="gad0558a4dd874dfda556cbe2cf2b81372"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUXsendCommand" ref="gad0558a4dd874dfda556cbe2cf2b81372" args="(tSensors link, ubyte mode, ubyte channel, ubyte rotparams, long duration, byte power, byte steering)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool HDMMUXsendCommand </td>
          <td>(</td>
          <td class="paramtype">tSensors&#160;</td>
          <td class="paramname"> <em>link</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ubyte&#160;</td>
          <td class="paramname"> <em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ubyte&#160;</td>
          <td class="paramname"> <em>channel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ubyte&#160;</td>
          <td class="paramname"> <em>rotparams</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"> <em>duration</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"> <em>power</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"> <em>steering</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Send a command to the MMUX.</p>
<p>Note: this is an internal function and shouldn't be used directly </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">link</td><td>the MMUX port number </td></tr>
    <tr><td class="paramname">mode</td><td>the mode the MMX should operate in, controlling motors, resetting tachos or settings new address </td></tr>
    <tr><td class="paramname">channel</td><td>the motors the command applies to </td></tr>
    <tr><td class="paramname">rotparams</td><td>the additional parameters that make up the command </td></tr>
    <tr><td class="paramname">duration</td><td>the number of units (can be seconds, rotations or degrees) the command should be run for </td></tr>
    <tr><td class="paramname">power</td><td>the amount of power to be applied to the motor(s) </td></tr>
    <tr><td class="paramname">steering</td><td>used for syncronised movement to control the amount of steering </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if no error occured, false if it did </dd></dl>

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00177">177</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="gafc336fc65157f3ad43c92311d8ff6ef2"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMotorStop" ref="gafc336fc65157f3ad43c92311d8ff6ef2" args="(tMUXmotor muxmotor, bool brake)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool HDMotorStop </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a>&#160;</td>
          <td class="paramname"> <em>muxmotor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"> <em>brake</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Stop the motor. This function overrides the preconfigured braking method.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">muxmotor</td><td>the motor-MUX motor </td></tr>
    <tr><td class="paramname">brake</td><td>when set to true: use brake, false: use float </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if no error occured, false if it did </dd></dl>

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00255">255</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga45626902cadcdee073783a5973021192"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMotorStop" ref="ga45626902cadcdee073783a5973021192" args="(tMUXmotor muxmotor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool HDMotorStop </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___m_m_u_x-common__h.html#ga11217de3dd0a7e4159c3578c1cdbba12">tMUXmotor</a>&#160;</td>
          <td class="paramname"> <em>muxmotor</em>&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Stop the motor. Uses the brake method specified with HDMMotorSetBrake or HDMMotorSetFloat. The default is to use braking.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">muxmotor</td><td>the motor-MUX motor </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if no error occured, false if it did </dd></dl>

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00231">231</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="ga82af72165d856c59557672bb7fa851d0"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_I2CReply" ref="ga82af72165d856c59557672bb7fa851d0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__common.html#gaa172ef131853460e5b9f5c6db81d30f4">tByteArray</a> <a class="el" href="group__holitdata.html#ga82af72165d856c59557672bb7fa851d0">HDMMUX_I2CReply</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Array to hold I2C reply data </p>

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00092">92</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga19484ff15e883671827a693258717351"></a><!-- doxytag: member="holitdata&#45;motormux.h::HDMMUX_I2CRequest" ref="ga19484ff15e883671827a693258717351" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__common.html#gaa172ef131853460e5b9f5c6db81d30f4">tByteArray</a> <a class="el" href="group__holitdata.html#ga19484ff15e883671827a693258717351">HDMMUX_I2CRequest</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Array to hold I2C command data </p>

<p>Definition at line <a class="el" href="holitdata-motormux_8h_source.html#l00091">91</a> of file <a class="el" href="holitdata-motormux_8h_source.html">holitdata-motormux.h</a>.</p>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Wed Mar 13 2013 19:56:44 for ROBOTC Drivers by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address>
</body>
</html>
